package com.hsxc.cdz.base.bean;

import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * @author 刘力文
 *         充电桩表
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Pile {

    private ConsoleUser consoleUser;//该充电桩的运营商
    private Station station;//该充电桩所属的充电站

    private int id;          //充电桩id
    private String pileNO;       //充电桩编号
    private String operatorNO;
    //private String operator;
    private String stationNO; //充电站Id
    private int state;          // 状态:，1-充电中，2-被预约，3-故障中，4-注销,5-未注册,6离线，7 锁定。  8-待机
    private String regTime;       //注册时间
    private String logoutTime;       //注销时间
    private String softVersion;     //软件版本
    private String hardVersion;     //硬件版本
    private String account;       //账号
    private String password;       //密码
    private String fstLevType;     //一级类型
    private String scdLevType;     //二级类型
    private String sn;       //sn
    private float longitude;     //经度
    private float latitude;      //纬度
    private boolean isDelete;    //是否删除：1-正常，0-被删除

    private String tel;            //个人电桩的电桩联系人

    private int ownType;            //电桩类型：1 电站电桩2-个人电桩
    private int phyType;        //交流，直流

    //费率相关
    private int oneRate;
    private int twoRate;
    private int threeRate;
    private int fourRate;
    private int serviceFee;
    private String timeRate;

    //========================================================================
    //充电桩状态

    public static final int STATE_CHARGING = 1; //充电中
    public static final int STATE_RESERVED = 2;  //已预约
    public static final int STATE_FALUT = 3;    //故障中
    public static final int STATE_CANCEL = 4;   //注销
    public static final int STATE_NOREGISTER = 5;//未注册
    public static final int STATE_OFFLINE = 6;  //离线 
    public static final int STATE_LOCKED = 7;     //锁定
    public static final int STATE_IDLE = 8;     //待机状态 

    public static final int OWN_TYPE_CORP = 1;    //运营商电桩
    public static final int OWN_TYPE_PRIV = 2;    //私人电桩

    public static final int PHY_TYPE_AC = 1;    //交流
    public static final int PHY_TYPE_DC = 2;    //直流
    //==============================================================================
    //私有属性get 以及set 方法

    public int getOneRate() {
        return oneRate;
    }

    public void setOneRate(int oneRate) {
        this.oneRate = oneRate;
    }

    public int getTwoRate() {
        return twoRate;
    }

    public void setTwoRate(int twoRate) {
        this.twoRate = twoRate;
    }

    public int getThreeRate() {
        return threeRate;
    }

    public void setThreeRate(int threeRate) {
        this.threeRate = threeRate;
    }

    public int getFourRate() {
        return fourRate;
    }

    public void setFourRate(int fourRate) {
        this.fourRate = fourRate;
    }

    public int getServiceFee() {
        return serviceFee;
    }

    public void setServiceFee(int serviceFee) {
        this.serviceFee = serviceFee;
    }

    public String getTimeRate() {
        return timeRate;
    }

    public void setTimeRate(String timeRate) {
        this.timeRate = timeRate;
    }

    public Station getStation() {
        return station;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public void setStation(Station station) {
        this.station = station;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getPileNO() {
        return pileNO;
    }

    public void setPileNO(String pileNO) {
        this.pileNO = pileNO;
    }

    public String getStationNO() {
        return stationNO;
    }

    public void setStationNO(String stationNO) {
        this.stationNO = stationNO;
    }

    public int getState() {
        return state;
    }

    public void setState(int state) {
        this.state = state;
    }

    public String getRegTime() {
        return regTime;
    }

    public void setRegTime(String regTime) {
        this.regTime = regTime;
    }

    public String getLogoutTime() {
        return logoutTime;
    }

    public void setLogoutTime(String logoutTime) {
        this.logoutTime = logoutTime;
    }

    public String getSoftVersion() {
        return softVersion;
    }

    public void setSoftVersion(String softVersion) {
        this.softVersion = softVersion;
    }

    public String getHardVersion() {
        return hardVersion;
    }

    public void setHardVersion(String hardVersion) {
        this.hardVersion = hardVersion;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getFstLevType() {
        return fstLevType;
    }

    public void setFstLevType(String fstLevType) {
        this.fstLevType = fstLevType;
    }

    public String getScdLevType() {
        return scdLevType;
    }

    public void setScdLevType(String scdLevType) {
        this.scdLevType = scdLevType;
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public float getLongitude() {
        return longitude;
    }

    public void setLongitude(float longitude) {
        this.longitude = longitude;
    }

    public float getLatitude() {
        return latitude;
    }

    public void setLatitude(float latitude) {
        this.latitude = latitude;
    }

    public boolean isDelete() {
        return isDelete;
    }

    public void setDelete(boolean isDelete) {
        this.isDelete = isDelete;
    }

    private String stationAdmin;


    @Override
    public String toString() {
        return "Pile [station=" + station + ", id=" + id + ", pileNO=" + pileNO
                + ", stationNO=" + stationNO + ",operatorNO=" + operatorNO + ", state=" + state + ", regTime="
                + regTime + ", logoutTime=" + logoutTime + ", softVersion=" + softVersion + ", hardVersion="
                + hardVersion + ", account=" + account + ", password=" + password + ", fstLevType=" + fstLevType
                + ", scdLevType=" + scdLevType + ", sn=" + sn + ", longitude=" + longitude + ", latitude=" + latitude
                + ", isDelete=" + isDelete + "]";
    }

    /**
     * @return the stationAdmin
     */
    public String getStationAdmin() {
        return stationAdmin;
    }

    /**
     * @param stationAdmin the stationAdmin to set
     */
    public void setStationAdmin(String stationAdmin) {
        this.stationAdmin = stationAdmin;
    }

    /**
     * @return the consoleUser
     */
    public ConsoleUser getConsoleUser() {
        return consoleUser;
    }

    /**
     * @param consoleUser the consoleUser to set
     */
    public void setConsoleUser(ConsoleUser consoleUser) {
        this.consoleUser = consoleUser;
    }
    /**
     * @return the operator
     */
    /**
     * @return the operatorNO
     */
    public String getOperatorNO() {
        return operatorNO;
    }

    /**
     * @param operatorNO the operatorNO to set
     */
    public void setOperatorNO(String operatorNO) {
        this.operatorNO = operatorNO;
    }

    /**
     * @return the ownType
     */
    public int getOwnType() {
        return ownType;
    }

    /**
     * @param ownType the ownType to set
     */
    public void setOwnType(int ownType) {
        this.ownType = ownType;
    }

    /**
     * @return the phyType
     */
    public int getPhyType() {
        return phyType;
    }

    /**
     * @param phyType the phyType to set
     */
    public void setPhyType(int phyType) {
        this.phyType = phyType;
    }

}

